from selenium import webdriver
from selenium.webdriver.chrome.options import Options  # 用于设置谷歌浏览器
from selenium.webdriver.chrome.webdriver import Service  # 用于管理谷歌的驱动
from selenium.webdriver.common.by import By


def create_browser():
    # 创建浏览器对象
    q1 = Options()
    # 禁用沙盒模式（增加系统兼容性）
    q1.add_argument('--no-sandbox')
    # 保持浏览器打开状态（），默认代码执行完毕自动关闭
    q1.add_experimental_option(name='detach', value=True)

    # 创建并启动浏览器
    a1 = webdriver.Chrome(service=Service('chromedriver.exe'), options=q1)
    # 隐形等待时间，多少秒内找到就执行，没有找到就报错
    a1.implicitly_wait(10)
    return a1


a1 = create_browser()
# 打开网页后，会立刻执行代码，要放上一个等待时间。
a1.get('https://www.baidu.com')
a1.find_element(By.XPATH, '/html/body/div[1]/div[1]/div[3]/a[4]').click()
# 获取全部标签页句柄
a2 = a1.window_handles
print(a2)
# 切换标签页
a1.switch_to.window(a2[0])
# 获取当前标签页句柄
a2 = a1.current_window_handle